@use "sass:color";

// Core
@use "./core/selection";
@use "./core/license-notification";

// Plugins
@use "./plugins/collapsible-columns";
@use "./plugins/nested-headers";
@use "./plugins/nested-rows";
@use "./plugins/hidden-columns";
@use "./plugins/hidden-rows";
@use "./plugins/dropdown-menu";
@use "./plugins/filters";
@use "./plugins/comments";
@use "./plugins/custom-borders";
@use "./plugins/column-sorting";
@use "./plugins/multi-column-sorting";
@use "./plugins/manual-column-freeze";
@use "./plugins/manual-column-resize";
@use "./plugins/manual-row-resize";
@use "./plugins/merge-cells";
@use "./plugins/manual-column-move";
@use "./plugins/manual-row-move";
@use "./plugins/dialog";
@use "./plugins/pagination";
@use "./plugins/loading";
@use "./plugins/empty-data-state";

// Renderers
@use "./renderers/text-renderer";
@use "./renderers/autocomplete-renderer";
@use "./renderers/checkbox-renderer";

// Editors
@use "./editors/text-editor";
@use "./editors/select-editor";
@use "./editors/dropdown-editor";
@use "./editors/date-editor";

// Form elements
@use "./form-elements/select";
@use "./form-elements/input";
@use "./form-elements/button";
@use "./form-elements/radio";

// Components

// Core
@mixin core-components-styles() {
  @include selection.output();
  @include license-notification.output();
  // Renderers
  @include autocomplete-renderer.output();
  @include checkbox-renderer.output();
  @include text-renderer.output();
  // Editor
  @include text-editor.output();
  @include select-editor.output();
  @include dropdown-editor.output();
  @include date-editor.output();
  // Form Elements
  @include select.output();
  @include input.output();
  @include button.output();
  @include radio.output();
}

// Plugins
@mixin plugins-components-styles() {
  @include collapsible-columns.output();
  @include nested-headers.output();
  @include nested-rows.output();
  @include hidden-columns.output();
  @include hidden-rows.output();
  @include dropdown-menu.output();
  @include filters.output();
  @include comments.output();
  @include column-sorting.output();
  @include multi-column-sorting.output();
  @include manual-column-freeze.output();
  @include manual-column-resize.output();
  @include manual-row-resize.output();
  @include merge-cells.output();
  @include manual-column-move.output();
  @include manual-row-move.output();
  @include dialog.output();
  @include pagination.output();
  @include loading.output();
  @include empty-data-state.output();
}
